
import java.net.InetAddress;
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.Vector;



/**
 * Interface IServidorP2P
 */
public interface IServidorP2P extends Remote {

  //
  // Fields
  //

  
  //
  // Methods
  //


  //
  // Accessor methods
  //

  //
  // Other methods
  //

  /**
   * Registra Nodo Y Recibe Arreglo Con las carpetas a compartir
   */
  public void registrar( Vector <String> directorios , String direccion  )throws RemoteException;


  /**
   * Envia la peticion a un nodo de cambio de directorio
   * @param        directorio
   */
  public void cambiar_directorio( String directorio )throws RemoteException;

  
  public boolean validar_directorio(String direccion)throws RemoteException;
  
  public String obtener_ip(String direccion)throws RemoteException;
  
  public String obtener_puerto(String puerto)throws RemoteException;

  /**
   * Recibe el Arreglo con la informacion del Directorio y posteriormente invocara el
   * metodo mostrar lista en el nodo.
   * @param        dir
   */
  public void actualizar_directorio( String [] dir )throws RemoteException;


  /**
   * Retorna la lista de los directorios compartidos
   * @return       String []
   */
  public String [] consultar_directorio( String direccion )throws RemoteException;


  /**
   * Recibe el nombre del archivo completo incluyendo el nodo a transmitir
   * @param        archivo
   */
  public void seleccionar_archivo( String archivo )throws RemoteException;


}
